#ifndef __LCD_HPP__
#define __LCD_HPP__

#include <iostream>
#include <cstdio>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <math.h>
#include <linux/input.h>
#include <time.h>
#include <stdlib.h>
#include "color.hpp"

using namespace std;

class LCD
{
public:
    LCD();
    ~LCD();
    void lcd_init();
    void lcd_mmap_init();
    int *get_lcd_mmap();
    int get_lcd_width();
    int get_lcd_height();
    void draw_circle_fast(int center_x, int center_y, int radius, int color);
    void draw_line_fast(int x1, int y1, int x2, int y2, int radius, int color);

private:
    FILE *fp_lcd;
    int lcd_width;
    int lcd_height;
    int *lcd_mmap;
};

#endif